Transaction malleability
ECDSA 署名には malleability がある Tx の構造を変化させずに、txid を変更することができる
unconfiremed な tx の使用が脆弱
lightning で生成する punishment tx などが定義できない
mtgox
出金処理がうまく行ったかどうかを、txidに依存していた
mtgoxが出金用に作成した tx が confirm されなければ、自動でtxを作り直しやり直していた?
署名のmalleability を利用した、同じ内容だがidが異なるtxをつくれる
こちらがconfirmされると、mtgoxからは出金が失敗したように見える。しかし実際には内容が同じtxが取り込まれているのと出金は完了している。にもかかわらずmtgoxは新しい出金txを作ってしまう。
これを繰り返せば、保有していないい額の出金ができてしまう